package com.yunhe.tianhe.rentcars.service.permission;



import com.yunhe.tianhe.commons.dto.Pageable;
import com.yunhe.tianhe.rentcars.entity.permission.Account;

import java.util.List;

/**
 * @author lanyangyun
 * @version V1.0
 * @Description: //TODO
 * @date 2017/10/25 0025 下午 2:18
 */
public interface AccountService {
    /**
     * 添加用户
     * @param account
     */
    void save(Account account);

    /**
     * 删除用户
     * @param uId
     */
    void delete(Long uId);

    /**
     * 批量删除
     * @param ids
     */
    void deleteBatch(String ids);

    /**
     * 修改用户
     * @param account
     */
    void update(Account account);

    /**
     * 查找一个用户
     * @param uId
     * @return
     */
    Account findOne(Long uId);

    /**
     * 查所有用户
     * @return
     */
    List<Account> findAll();

    /**
     * 校验用户名的唯一性
     * @param name
     * @return
     */
    Boolean verifyName(String name);


    /**
     * 分页查找
     * @param offset
     * @param limit
     * @return
     */
    Pageable<Account> findPage(Integer offset, Integer size);

    /**
     * 条件查询
     * @param account
     * @return
     */
    Pageable<Account> search(Account account);

    /**
     *
     * @param account
     * @return 改变行数
     */
    Long updatePerson(Account account);
}
